package com.train.course.mapper;

import com.train.course.domain.CommentLike;
import java.util.List;

/**
 * 评论点赞Mapper接口
 * 
 * @author ruoyi
 */
public interface CommentLikeMapper 
{
    /**
     * 查询评论点赞
     * 
     * @param likeId 评论点赞主键
     * @return 评论点赞
     */
    public CommentLike selectCommentLikeById(Long likeId);

    /**
     * 查询评论点赞列表
     * 
     * @param commentLike 评论点赞
     * @return 评论点赞集合
     */
    public List<CommentLike> selectCommentLikeList(CommentLike commentLike);

    /**
     * 根据用户ID和评论ID查询点赞记录
     * 
     * @param userId 用户ID
     * @param commentId 评论ID
     * @return 评论点赞
     */
    public CommentLike selectCommentLikeByUserAndComment(Long userId, Long commentId);

    /**
     * 统计评论点赞数
     * 
     * @param commentId 评论ID
     * @return 点赞数
     */
    public int countCommentLikeByCommentId(Long commentId);

    /**
     * 新增评论点赞
     * 
     * @param commentLike 评论点赞
     * @return 结果
     */
    public int insertCommentLike(CommentLike commentLike);

    /**
     * 删除评论点赞
     * 
     * @param likeId 评论点赞主键
     * @return 结果
     */
    public int deleteCommentLikeById(Long likeId);

    /**
     * 根据用户ID和评论ID删除点赞记录
     * 
     * @param userId 用户ID
     * @param commentId 评论ID
     * @return 结果
     */
    public int deleteCommentLikeByUserAndComment(Long userId, Long commentId);

    /**
     * 批量删除评论点赞
     * 
     * @param likeIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCommentLikeByIds(Long[] likeIds);
}